iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 12
0

接著我們來試著用複合鍵,我們用id加上name當成Partition Key,Cluster Key為time。
https://ithelp.ithome.com.tw/upload/images/20200909/20113220n2lRyzZ4nb.png
接著用id和time當條件查詢,發現這次行不通了,因為我們沒有滿足這張表的Partition Key條件。
https://ithelp.ithome.com.tw/upload/images/20200909/20113220w7VgqPotYr.png
這次我們滿足painting3的Partition Key條件,帶入id跟name,就查詢成功了。再加上Cluster Key time也是成功。
https://ithelp.ithome.com.tw/upload/images/20200909/20113220ECKcKXWQcF.png
最後我們再來建立一張表,這次我們使用time,name當作Cluster Key。
https://ithelp.ithome.com.tw/upload/images/20200909/201132201j00lYdB1q.png
然後我們帶入條件id = 1,可以看到出來的資料會以time先做排序,接著才是以name。
https://ithelp.ithome.com.tw/upload/images/20200909/20113220QYM79pWlxf.png
再來試一次只帶入id與name當條件,發現又出錯了,因為我們的條件也沒有滿足Clustering Key的條件。
https://ithelp.ithome.com.tw/upload/images/20200909/20113220U5rVQFQTyk.png
最後再建立一張table,這次改變一下Cluster Key的排序,這次我把time由新到舊,name由舊到新排序。
https://ithelp.ithome.com.tw/upload/images/20200909/20113220cvBvfTSTdd.png
顯示出來的結果,就跟painting4的排序不同了。
https://ithelp.ithome.com.tw/upload/images/20200909/20113220WSrx0SCjVL.png
選擇資料排序對於select時候的效能會有影響,所以在一開始設計這張table的時候,就要先設想可能會使用到的select語法。


上一篇
Day11 DataModel - Primary Key(上)
下一篇
Day13 DataModel - Primary Key(下)
系列文
ScyllaDB實作紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言